BIN=code
#SRC=$(shell ls *.c)
SRC=$(wildcard *.c)  # wildcard函数，获取当前目录下的所有源文件
OBJ=$(SRC:.c=.o)     # 将SRC里面的所有.c文件按照原来的名字替换为.o文件
CC=gcc
Echo=echo 
Rm=rm -rf


$(BIN):$(OBJ)
	@$(CC) -o $@ $^
	@$(Echo) "linking $^ to $@ ... done"
%.o:%.c              # 依次将.c文件生成.o文件
	@$(CC) -c $<         # %<的含义是依次将每个.c文件来执行gcc的命令，来生成.o文件
	@$(Echo) "compling $< to $@ ... done"

.PHONY: clean
clean:
	@$(Rm) $(OBJ) $(BIN)







#BIN=code
#SRC=code.c
#
#$(BIN):$(SRC)
#	@echo "开始编译代码"
#	@gcc -o $@ $^ 
#	@echo "编译代码完成"
#.PHONY:clean
#clean:
#	@echo "清理工程"
#	@rm -f $(BIN)
#	@echo "完成清理"
